www.gusucode.com > FavShop网店系统源码程序 > FavShop网店系统 1.0/upload/app/webroot/js/tiny_mce/plugins/save/editor_plugin_src.js
/** * $Id: editor_plugin_src.js 251 2007-04-10 20:16:15Z spocke $ * * @author Moxiecode * @copyright Copyright ? 2004-2007, Moxiecode Systems AB, All rights reserved. */ /* Import plugin specific language pack */ tinyMCE.importPluginLanguagePack('save'); var TinyMCE_SavePlugin = { getInfo : function() { return { longname : 'Save', author : 'Moxiecode Systems AB', authorurl : 'http://tinymce.moxiecode.com', infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save', version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion }; }, initInstance : function(inst) { inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave'); }, /** * Returns the HTML contents of the save control. */ getControlHTML : function(cn) { switch (cn) { case "save": return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave'); case "cancel": return tinyMCE.getButtonHTML(cn, 'lang_cancel_desc', '{$pluginurl}/images/cancel.gif', 'mceCancel'); } return ""; }, /** * Executes the save command. */ execCommand : function(editor_id, element, command, user_interface, value) { // Handle commands switch (command) { case "mceSave": return this._save(editor_id, element, command, user_interface, value); case "mceCancel": return this._cancel(editor_id, element, command, user_interface, value); } // Pass to next handler in chain return false; }, _save : function(editor_id, element, command, user_interface, value) { var inst, formObj, os, i, elementId; if (tinyMCE.getParam("fullscreen_is_enabled")) return true; inst = tinyMCE.selectedInstance; formObj = inst.formElement.form; if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty()) return true; if (formObj) { tinyMCE.triggerSave(); // Use callback instead if ((os = tinyMCE.getParam("save_onsavecallback"))) { if (eval(os + '(inst);')) { inst.startContent = tinyMCE.trim(inst.getBody().innerHTML); /*inst.undoLevels = new Array(); inst.undoIndex = 0; inst.typingUndoIndex = -1; inst.undoRedo = true; inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/ tinyMCE.triggerNodeChange(false, true); } return true; } // Disable all UI form elements that TinyMCE created for (i=0; i<formObj.elements.length; i++) { elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id; if (elementId.indexOf('mce_editor_') == 0) formObj.elements[i].disabled = true; } inst.isNotDirty = true; if (formObj.onsubmit == null || formObj.onsubmit() != false) inst.formElement.form.submit(); tinyMCE.triggerNodeChange(false, true); } else alert("Error: No form element found."); return true; }, _cancel : function(editor_id, element, command, user_interface, value) { var inst = tinyMCE.getInstanceById(editor_id), os, h = tinyMCE.trim(inst.startContent); // Use callback instead if ((os = tinyMCE.getParam("save_oncancelcallback"))) { if (eval(os + '(inst);')) return true; } inst.setHTML(h); inst.undoRedo.undoLevels = []; inst.undoRedo.add({ content : h }); inst.undoRedo.undoIndex = 0; inst.undoRedo.typingUndoIndex = -1; tinyMCE.triggerNodeChange(false, true); return true; }, handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { var inst; if (tinyMCE.getParam("fullscreen_is_enabled")) { tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled'); return true; } if (tinyMCE.getParam("save_enablewhendirty")) { inst = tinyMCE.getInstanceById(editor_id); if (inst.isDirty()) { tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal'); return true; } tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled'); } return true; } }; tinyMCE.addPlugin("save", TinyMCE_SavePlugin);